Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix: EWW_NET wrong values for TX/RX stats #1108

Merged
merged 2 commits into from
Aug 25, 2024

Conversation

mario-kr
Copy link
Contributor

@mario-kr mario-kr commented Jun 4, 2024

Description

The sysinfo crate, structure Networks, basically caches one value of total_received/total_transmitted each (as well as other metrics) and returns the difference between those two values when queried via the received() and transmitted() functions.

These values are updated by both the refresh() and refresh_list() functions; so by calling both of them right after each other like previously done here, sets both the cached total_received/... and the current total_received/... to nearly the same value.

refresh_list() also updates the list of interfaces on a host, with a marginally small performance impact for doing so (I measured slightly more than 100 microseconds on my machine (0.1 milliseconds), around 20-25% more than with refresh()), especially considering this is run only every 2 seconds.

Fixes #1070

Usage

N/A

Showcase

N/A

Additional Notes

I tested by running my panel config, which includes a network widget showing these two values. What was displayed was comparable to the network stats in bottom/btm.

Checklist

Please make sure you can check all the boxes that apply to this PR.

  • All widgets I've added are correctly documented.
  • I added my changes to CHANGELOG.md, if appropriate.
  • The documentation in the docs/content/main directory has been adjusted to reflect my changes.
  • I used cargo fmt to automatically format all code before committing

The sysinfo crate, structure Networks, basically caches one value of
total_received/total_transmitted each (as well as other metrics) and
returns the difference between those two values when queried via the
`received()` and `transmitted()` functions.

These values are updated by both the `refresh()` and `refresh_list()`
functions; so by calling both of them right after each other like
previously done here, sets both the cached total_received/... and the
current total_received/... to nearly the same value.

`refresh_list()` also updates the list of interfaces on a host, with a
marginally small performance impact for doing so (I measured slightly
more than 100 microseconds on my machine (0.1 milliseconds), around
20-25% more than with `refresh()`), especially considering this is run
only every 2 seconds.
@elkowar elkowar merged commit fefba66 into elkowar:master Aug 25, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG] EWW_NET is all 0
3 participants